package 装饰者模式;

/**
 * @author zzs
 * @ClassName Demo.java
 * @Description 装饰者和被装饰者同属一个类型, 包装者保留被装饰者的引用进行装饰，装饰者可以在被装饰者之前或之后加上自己的行为！！！
 * @createTime 2022年05月10日 19:52:00
 */
public class Demo {
    public static void main(String[] args) {
        CoffeePacker mocha = new Max(new Mocha(new Milk(new DarkRoast())));
        System.out.println(mocha.cost());
        System.out.println(mocha.description());
    }
}
